package org.example.codec;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;
import org.example.PacketCodec;

import java.util.List;

// 继承  ByteToMessageDecoder 简化解码逻辑
// in 已经是 Bytebuf 对象了
// list 参数，添加数据后，可以自动将结果传递给下一个 Handler 处理
public class PacketDecoder extends ByteToMessageDecoder {
    @Override
    protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {
        // 统一解码
        out.add(PacketCodec.INSTANCE.decode(in));
    }
}
